package com.xuecheng.media.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.media.model.po.MediaProcess;

import java.util.List;

public interface MediaProcessService extends IService<MediaProcess> {
    List<MediaProcess> selectListByShardIndex(Integer shardIndex,Integer shardTotal,
                                              Integer count,String taskType);

    /**
     * 处理视频待处理任务记录
     * @param mediaProcess
     */
    void handleMediaProcess(MediaProcess mediaProcess);

    /**
     * 开启一个任务，更新待处理任务的状态
     * @param id
     * @return
     */
    Boolean startTask(Long id);

    /**
     * 生成视频待处理任务
     * @param fileMd5
     * @param taskType
     * @return
     */
    MediaProcess recordTask(String bucket,String filePath,
                              String fileMd5,String taskType);

    /**
     * 完成任务
     * @param fileMd5
     * @param taskType
     */
    void finishTask(String fileMd5, String taskType);

    /**
     * 获取最大id
     * @return
     */
    Long getMaxId();
}
